Шаг 97 - Свойство EditMode.

Описание
Возвращает значение, показывающее состояние редактирования текущей записи.

Значение
Возвращаемое значение имеет тип Long и представляет текущее состояние редактирования с помощью констант, перечисленных в следующей таблице:

dbEditNone		Операция редактирования в данный момент не выполняется.
DbEditInProgress		Был вызван метод Edit, и текущая запись помещена в буфер копирования.
dbEditAdd			Был вызван метод AddNew, и текущая запись, помещенная в буфер копирования, 
			является новой записью, которая еще не сохранена в базе данных.

Замечания
Свойство EditMode особенно полезно, если процесс редактирования прерван, например, из-за нарушения условий на значение. Пользователь имеет возможность использовать свойство EditMode, чтобы определить, следует ли вызывать метод Update или CancelUpdate.
Кроме того, проверка, имеет ли свойство LockEdits значение True, а свойство EditMode значение dbEditInProgress, позволяет определить, является ли текущая страница данных заблокированной.

Пример
Следующая программа демонстрирует значение свойства EditMode при разных условиях. Для выполнения данной процедуры требуется функция EditModeOutput.

Sub EditModeX()

	Dim dbsNorthwind As Database
	Dim rstEmployees As Recordset

	Set dbsNorthwind = OpenDatabase("Борей.mdb")
	Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники", dbOpenDynaset)

	' Демонстрирует значение свойства EditMode в разных
	' режимах редактирования.
	With rstEmployees
		EditModeOutput "До вызова метода Edit или AddNew:", .EditMode
		.Edit
		EditModeOutput "После вызова метода Edit:", .EditMode
		.Update
		EditModeOutput "После вызова метода Update:", .EditMode
		.AddNew
		EditModeOutput "После вызова метода AddNew:", .EditMode
		.CancelUpdate
		EditModeOutput "После вызова метода CancelUpdate:", .EditMode
		.Close
	End With
	dbsNorthwind.Close
End Sub

Function EditModeOutput(strTemp As String, intEditMode As Integer)

	' Печатает отчет о значениях свойства EditMode.
	Debug.Print strTemp
	Debug.Print "    EditMode = ";

Select Case intEditMode
		Case dbEditNone
			Debug.Print "dbEditNone"
		Case dbEditInProgress
			Debug.Print "dbEditInProgress"
		Case dbEditAdd
			Debug.Print "dbEditAdd"
	End Select

End Function
Hosted by uCoz